<template>
    <van-nav-bar title="商品评价" left-text="" left-arrow @click-left="goBack" />

    <section class="aui-flexView">
        <!-- 订单详细 -->
        <section class="aui-scrollView">
            <!-- 订单状态 -->
            <div class="aui-pay-change">
                <div class="aui-flex">
                    <div class="aui-flex-box">
                        <h3>{{ detail.status_text }}</h3>
                    </div>
                    <div class="aui-pay-zfb">
                        <img src="/assets/images/icon-zfb.png" alt="" />
                    </div>
                </div>
            </div>

            <!-- 收货地址 -->
            <div class="aui-flex">
                <div class="aui-flex-add">
                    <img :src="LoginUser.avatar_text" alt="" />
                </div>
                <div class="aui-flex-box">
                    <h3>
                        {{ detail.address.consignee }} <em> {{ detail.address.mobile }}</em>
                    </h3>
                    <p>{{ detail.address.region_text }}{{ detail.address.address }}</p>
                </div>
            </div>

            <!-- 订单商品 -->
            <div class="aui-commodity-bg">
                <div class="item" v-for="item in detail.info">
                    <div class="aui-flex">
                        <div class="aui-commodity-img">
                            <router-link :to="{ path: '/product/info', query: { proid: item.proid } }">
                                <img :src="item.product.thumbs_text" />
                            </router-link>
                        </div>
                        <div class="aui-flex-box">
                            <h4 class="van-ellipsis">商品名称：{{ item.product.name }}</h4>
                            <p>商品单价：￥{{ item.price }}</p>
                            <span class="aui-barter-time">七天退换</span>
                        </div>
                        <div>
                            <h5>￥{{ item.total }}</h5>
                            <p class="aui-sml-text">X{{ item.pronum }}</p>
                        </div>
                    </div>
                </div>
            </div>

            <!-- 评价信息 -->
            <div class="aui-commodity-bg">
                <van-form @submit="onSubmit">
                    <van-cell-group inset>
                        <!--评分 -->
                        <van-field name="rate" label="" :rules="[{ required: true, message: '请选择评分' }]">
                            <template #input>
                                <van-rate v-model="rate" icon="fire" void-icon="fire-o" />
                            </template>
                        </van-field>

                        <!-- 评价内容 -->
                        <van-field v-model="comment" rows="2" autosize label="" type="textarea" maxlength="120"
                            placeholder="请输入评价内容" show-word-limit />

                        <!-- 评价图片 -->
                        <van-field name="thumbs" label="">
                            <template #input>
                                <van-uploader v-model="thumbs" multiple :max-count="5" />
                            </template>
                        </van-field>
                    </van-cell-group>
                    <div style="margin: 16px;">
                        <van-button round block type="success" native-type="submit">
                            提交评价
                        </van-button>
                    </div>
                </van-form>

            </div>
        </section>
    </section>
</template>

<script setup>
const { proxy } = getCurrentInstance()
const goBack = () => { proxy.$router.go(-1) }
const LoginUser = reactive(proxy.$cookies.get('LoginUser') ?? {})
const orderid = proxy.$route.query.orderid ? proxy.$route.query.orderid : 0;
const orderproid = proxy.$route.query.orderproid ? proxy.$route.query.orderproid : 0;
const detail = ref({
    address: {}
})
const rate = ref(0)
const comment = ref('')
const thumbs = ref([]);
onBeforeMount(() => {
    getOrderInfoData()
})
const getOrderInfoData = async () => {
    let result = await Api.OrderInfo({
        busid: LoginUser.id,
        orderid: orderid,
        orderproid: orderproid
    })
    if (result.code == 1) {
        detail.value = result.data
    }
}
const onSubmit = async(val)=>{

    let RequestData = new FormData();
    RequestData.append('busid',LoginUser.id)
    RequestData.append('orderid',orderid)
    RequestData.append('orderproid',orderproid)
    RequestData.append('rate',rate.value)
    RequestData.append('comment',comment.value)

    //判断是否有评价图片
    if(val.thumbs.length > 0)
    {
        val.thumbs.forEach((item) =>{
            RequestData.append(orderproid+'[]',item.file);
        })
        
    }

    let result  = await Api.OrderRate(RequestData)
    if(result.code == 1)
    {
        success({
            message: result.msg,
            onClose: () =>{
                goBack()
            }
        });
    }
    else
    {
        error(result.msg);
    }
}
</script>
<style>
@import url('/assets/css/info.css');
</style>